package org.inspursc.s0517.health.evaluation.form;

import lombok.Data;
import org.inspursc.s0517.health.common.entity.AbstractIdEntity;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * @author B_Dream
 * @date 2018/5/22 11:14
 */
@Data
public class CustomerForm extends AbstractIdEntity implements Serializable {

    /**
     * 客户姓名
     */
    @NotEmpty(message = "姓名不能为空")
    private String name;
    /**
     * 性别
     */
    @NotEmpty(message = "性别不能为空")
    private String sex;
    /**
     * 民族
     */
    private String nationality;

    /**
     * 手机号
     */
    @NotEmpty(message = "联系电话不能为空")
    private String phone;

    /**
     * 身份证号
     */
    @Pattern(regexp = "(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}[0-9Xx]$)",message = "身份证号码不合法！")
    @NotEmpty(message = "身份证ID不能为空")
    private String idNumber;

    /**
     * 出生年月
     */
    @Past
    @NotNull(message = "生日不能为空")
    private LocalDate birthday;


    /**
     * 年龄
     */
    private Integer age;

    /**
     * 身高
     */
    @NotNull(message = "身高不能为空")
    private Integer height;
    /**
     * 体重
     */
    @NotNull(message = "体重不能为空")
    private Integer weight;
    /**
     * 婚姻状况
     */
    private String maritalStatus;
    /**
     * 文化程度
     */
    private String education;
    /**
     * 职业
     */
    private String occupation;
    /**
     * 经济来源
     */
    private String incomeSource;
    /**
     * 收入水平
     */
    private String incomeLevel;
    /**
     * 个人生活状态支出
     */
    private String dailyExpenses;

    /**
     * 社保和养老保险缴纳情况
     */
    private String insuranceStatus;
    /**
     * 社保卡卡号
     */
    private String insuranceCardId;

    /**
     * 常住居所
     */
    private String residenceType;
    /**
     * 长期居住状态
     */
    private String residentialStatus;

    /**
     * 血压
     */
    private String bloodPressure;
    /**
     * 体温
     */
    private String temperature;

    /**
     * 使用语言
     */
    private String speakLanguage;
    /**
     * 生命体征
     */
    private String vitalSign;
    /**
     * 描述
     */
    private String description;

}
